package cn.cqie.frame.service;

import cn.cqie.frame.bo.add.AddMenuBo;
import cn.cqie.frame.bo.query.QueryMenuBo;
import cn.cqie.frame.entity.SysMenu;
import cn.cqie.frame.vo.LabelOptionVo;
import cn.cqie.frame.vo.MenuVo;
import cn.cqie.frame.vo.UserMenuVo;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author XYHL
 * @since 2021-09-02
 */
public interface SysMenuService extends IService<SysMenu> {
    /**
     * 查看菜单列表
     * @param bo 条件
     * @return 菜单列表
     */
    List<MenuVo> queryMenu(QueryMenuBo bo);

    /**
     * 新增or更新菜单信息
     * @param bo
     * @return
     */
    MenuVo saveOrUpdateMenu(AddMenuBo bo);

    /**
     * 删除菜单信息
     * @param menuId
     * @return
     */
    Boolean deleteMenu(Long menuId);

    /**
     * 查询登录的用户的菜单信息
     * @return
     */
    List<UserMenuVo> userMenusList();

    /**
     * 权限菜单
     * @return
     */
    List<LabelOptionVo> listMenuOptions();

}

